Sub Tasks Matrix Multiplication Algorithm (STMMA)
نویسندگان
چکیده
Several parallel matrix multiplications developed since four decades based on decomposing the multiplied matrices into smaller size blocks, the blocks will be distributed among the processors to run matrix multiplication in shorter time than when only one processor will run the whole matrix multiplications. All parallel matrix multiplications algorithms suffer from three points: C The optimal size of the block of the decomposed matrices. C The optimal number and size of the exchanged messages between the processors. C Data dependency between the processors. And some algorithms suffer from fourth point, which is load balance especially with non-square matrix multiplications. In this paper we will introduce new parallel matrix multiplications to overcome the above four drawbacks, which will result in vast difference in performance in terms of time and load balance. For example, for a matrices multiplication of 5000×5000, it consumes 2812 seconds using cannon algorithm, while only 712 seconds needed using STMMA to accomplish the same task using MPI library, which implies 4 times faster. We have used Processors Intel(R) Core(TM) i5 CPU 760 @2.80GHz 2.79 GHz, Installed memory (RAM) 4.00 GB, System type: 64-bit Operating System, Windows 7 Professional. We have coded the algorithms using Microsoft C++ ver. 6, with MPI Library.
منابع مشابه
A New Parallel Matrix Multiplication Method Adapted on Fibonacci Hypercube Structure
The objective of this study was to develop a new optimal parallel algorithm for matrix multiplication which could run on a Fibonacci Hypercube structure. Most of the popular algorithms for parallel matrix multiplication can not run on Fibonacci Hypercube structure, therefore giving a method that can be run on all structures especially Fibonacci Hypercube structure is necessary for parallel matr...
متن کاملHierarchical Matrix-Matrix Multiplication Based on Multiprocessor Tasks
We consider the realization of matrix-matrix multiplication and propose a hierarchical algorithm implemented in a task-parallel way using multiprocessor tasks on distributed memory. The algorithm has been designed to minimize the communication overhead while showing large locality of memory references. The task-parallel realization makes the algorithm especially suited for cluster of SMPs since...
متن کاملA Strassen-like Matrix Multiplication Suited for Squaring and Highest Power Computation
Strassen method is not the asymptotically fastest known matrix multiplication algorithm, but it is the most widely used for large matrices on finite fields. Since his manuscript was published, a number of variants have been proposed with various addition complexities. Here we describe a new one. The new variant is as good as those already known for a simple matrix multiplication, but can save o...
متن کاملA New Direction to Parallelize Winograd's Algorithm on Distributed Memory Computers
Winograd’s algorithm to multiply two n × n matrices reduces the asymptotic operation count from O(n3) of the traditional algorithm to O(n2.81), thus on distributed memory computers, the association of Winograd’s algorithm and the parallel matrix multiplication algorithms always gives remarkable results. Within this association, the application of Winograd’s algorithm at the inter-processor leve...
متن کاملFast Operations on Linearized Polynomials and their Applications in Coding Theory
This paper considers fast algorithms for operations on linearized polynomials. We propose a new multiplication algorithm for skew polynomials (a generalization of linearized polynomials) which has sub-quadratic complexity in the polynomial degree s, independent of the underlying field extension degree m. We show that our multiplication algorithm is faster than all known ones when s ≤ m. Using a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012